<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.29
     from comptrees.tnf on 19 December 2010 -->

<TITLE>LIDO -- Computations in Trees - Table of Contents</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" BACKGROUND="gifs/bg.gif">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0" VALIGN=BOTTOM>
<TR VALIGN=BOTTOM>
<TD WIDTH="160" VALIGN=BOTTOM>
<A HREF="http://eli-project.sourceforge.net/">
<IMG SRC="gifs/elilogo.gif" BORDER=0>
</A>&nbsp;
</TD>
<TD WIDTH="25" VALIGN=BOTTOM>
<img src="gifs/empty.gif" WIDTH=25 HEIGHT=25>
</TD>
<TD ALIGN=LEFT WIDTH="475" VALIGN=BOTTOM>
<A HREF="index.html"><IMG SRC="gifs/title.png" BORDER=0></A>
</TD>
<!-- |DELETE FOR SOURCEFORGE LOGO|
<TD>
<a href="http://sourceforge.net/projects/eli-project">
<img
  src="http://sflogo.sourceforge.net/sflogo.php?group_id=70447&amp;type=13"
  width="120" height="30"
  alt="Get Eli: Translator Construction Made Easy at SourceForge.net.
    Fast, secure and Free Open Source software downloads"/>
</a>
</TD>
|DELETE FOR SOURCEFORGE LOGO| -->
</TR>
</TABLE>

<HR size=1 noshade width=785 align=left>
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
<TR>
<TD VALIGN=TOP WIDTH="160">
<h4>General Information</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="index.html">Eli: Translator Construction Made Easy</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="gindex_1.html#SEC1">Global Index</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="faq_toc.html" >Frequently Asked Questions</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Tutorials</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="EliRefCard_toc.html">Quick Reference Card</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="novice_toc.html">Guide For new Eli Users</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="news_toc.html">Release Notes of Eli</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="nametutorial_toc.html">Tutorial on Name Analysis</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="typetutorial_toc.html">Tutorial on Type Analysis</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Reference Manuals</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ui_toc.html">User Interface</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="pp_toc.html">Eli products and parameters</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lidoref_toc.html">LIDO Reference Manual</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ee.html" >Typical Eli Usage Errors</a> </td></tr>
</table>

<h4>Libraries</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lib_toc.html">Eli library routines</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="modlib_toc.html">Specification Module Library</a></td></tr>
</table>

<h4>Translation Tasks</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lex_toc.html">Lexical analysis specification</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="syntax_toc.html">Syntactic Analysis Manual</a></td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="comptrees_toc.html">Computation in Trees</a></td></tr>
</table>

<h4>Tools</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="lcl_toc.html">LIGA Control Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="show_toc.html">Debugging Information for LIDO</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="gorto_toc.html">Graphical ORder TOol</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="fw_toc.html">FunnelWeb User's Manual</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="ptg_toc.html">Pattern-based Text Generator</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="deftbl_toc.html">Property Definition Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="oil_toc.html">Operator Identification Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="tp_toc.html">Tree Grammar Specification Language</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="clp_toc.html">Command Line Processing</a> </td></tr>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="cola_toc.html">COLA Options Reference Manual</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="idem_toc.html">Generating Unparsing Code</a> </td></tr>
</table>
<p>
<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="mon_toc.html">Monitoring a Processor's Execution</a> </td></tr>
</table>

<h4>Administration</h4>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr valign=top><td><img src="gifs/gelbekugel.gif" WIDTH=7 HEIGHT=7 ALT=" o"> </td><td><a href="sysadmin_toc.html">System Administration Guide</a> </td></tr>
</table>

<HR WIDTH="100%">
<A HREF="mailto:eli-project-users@lists.sourceforge.net">
<IMG SRC="gifs/button_mail.gif" BORDER=0 ALIGN="left"></A>
<A HREF="index.html"><IMG SRC="gifs/home.gif" BORDER=0 ALIGN="right"></A>

</TD>
<TD VALIGN=TOP WIDTH="25"><img src="gifs/empty.gif" WIDTH=25 HEIGHT=25></TD>

<TD VALIGN=TOP WIDTH="600">
<A HREF="comptrees.pdf"><IMG SRC="gifs/pdficon_large.gif" ALT="Open PDF File" BORDER="0" ALIGN=RIGHT></A>
<H1>LIDO -- Computations in Trees</H1>
<P>
Language processors generated by Eli consist of a structuring phase and
a transformation phase. The first reads the input, checks whether its
structure fulfills the language requirements and builds a tree
representing that structure. The transformation phase performs any kind
of computations on such trees necessary for analysis of the input
structure and for computing some output as required by the language
processor tasks. Both phases are generated from user supplied
specifications.
<P>
This document introduces the techniques used to specify the
transformation phase. Its central concepts are computations in trees.
The subsequent sections introduce the most important techniques and
their notation in the specification language LIDO on the base of very
simple examples.
<P>
 <A HREF="comptrees_1.html#SEC1">Tree Structure</A> to  <A HREF="comptrees_5.html#SEC12">Early Computations During Tree Construction</A> should be read in 
that order to get a complete
overview.  It should be pointed out, that this document is not intended
to define the language LIDO. The <EM>LIDO Reference Manual</EM> should be
consulted for specific questions on language constructs.  It also
describes facilities which increase the expressive power of LIDO
far beyond the level introduced here.
See  <A HREF="lidoref_toc.html">LIDO -- Reference Manual</A>.
Many common subtasks of the transformation phase need not be solved
by writing LIDO specifications from scratch. Reusable solutions
can be obtained from Eli's module library.
See  <A HREF="modlib_toc.html">ModLib - Specification Module Library</A>.
<P>
 <A HREF="comptrees_6.html#SEC13">Interactions within Eli</A> of this document describes how to use 
LIDO specifications
within Eli, how they interact with other specifications and how to get
more information when errors are reported on the specification. The
first part ( <A HREF="comptrees_6.html#SEC14">Supplying Tree Computation Specifications to Eli</A> to  <A HREF="comptrees_6.html#SEC16">Implementing Tree Computations</A>) should be read 
while examples are
practically exercised.  <A HREF="comptrees_6.html#SEC17">Specification Errors</A> should be consulted 
initially when
errors occur that can not be immediately traced and corrected.
<P>
<P>
<UL>
<LI><A NAME="SEC1" HREF="comptrees_1.html#SEC1">Tree Structure</A>
<LI><A NAME="SEC2" HREF="comptrees_2.html#SEC2">Dependent Computations</A>
<UL>
<LI><A NAME="SEC3" HREF="comptrees_2.html#SEC3">Value Dependencies</A>
<LI><A NAME="SEC4" HREF="comptrees_2.html#SEC4">State Dependencies</A>
</UL>
<LI><A NAME="SEC5" HREF="comptrees_3.html#SEC5">Remote Dependencies in Trees</A>
<UL>
<LI><A NAME="SEC6" HREF="comptrees_3.html#SEC6">Access to a Subtree Root</A>
<LI><A NAME="SEC7" HREF="comptrees_3.html#SEC7">Access to Contexts within a Subtree</A>
<LI><A NAME="SEC8" HREF="comptrees_3.html#SEC8">Left-to-Right Dependencies</A>
</UL>
<LI><A NAME="SEC9" HREF="comptrees_4.html#SEC9">Symbol Computations</A>
<UL>
<LI><A NAME="SEC10" HREF="comptrees_4.html#SEC10">Basic Symbol Computations</A>
<LI><A NAME="SEC11" HREF="comptrees_4.html#SEC11">Reuse of Symbol Computations</A>
</UL>
<LI><A NAME="SEC12" HREF="comptrees_5.html#SEC12">Early Computations During Tree Construction</A>
<LI><A NAME="SEC13" HREF="comptrees_6.html#SEC13">Interactions within Eli</A>
<UL>
<LI><A NAME="SEC14" HREF="comptrees_6.html#SEC14">Supplying Tree Computation Specifications to Eli</A>
<LI><A NAME="SEC15" HREF="comptrees_6.html#SEC15">Tree Construction</A>
<LI><A NAME="SEC16" HREF="comptrees_6.html#SEC16">Implementing Tree Computations</A>
<LI><A NAME="SEC17" HREF="comptrees_6.html#SEC17">Specification Errors</A>
</UL>
<LI><A NAME="SEC18" HREF="comptrees_7.html#SEC18">Index</A>
</UL>
<HR size=1 noshade width=600 align=left>
</TD>
</TR>
</TABLE>

</BODY></HTML>
